import cv2
import numpy as np  # 修正导入语句

# 创建一个400x500像素的黑色背景图像（3通道）
img = np.zeros((400, 500, 3), np.uint8)

# 画一条绿色斜线（BGR颜色格式）
cv2.line(img, (0, 0), (255, 255), (55, 255, 155), 5)

# 画蓝色矩形框
cv2.rectangle(img, (40, 160), (150, 250), (255, 0, 0), 2)

# 画填充黄色圆形
cv2.circle(img, (200, 100), 50, (255, 255, 0), -1)

# 画紫色椭圆轮廓
cv2.ellipse(img, (220, 320), (100, 50), 20, 0, 360, (255, 0, 255), 2)

# 定义多边形顶点并调整形状
pts = np.array([[137, 190], [440, 300], [410, 120], [380, 300], [450, 190]], np.int32)
pts = pts.reshape((-1, 1, 2))  # 形状转换为(N,1,2)

# 画白色多边形轮廓
cv2.polylines(img, [pts], True, (255, 255, 255), 5)

# 添加黄色文字
font = cv2.FONT_HERSHEY_SIMPLEX
cv2.putText(img, 'hello world!', (300, 100), font, 1, (255, 255, 0), 2)

# 显示并保持窗口
cv2.imshow("image", img)
cv2.waitKey(0)
cv2.destroyAllWindows()